﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WCS.Infrastructure.Dto.Response.Coupon
{
    /// <summary>
    /// 优惠券模板查询响应对象
    /// </summary>
    public class CouponTemplateQueryResponseDto
    {
        /// <summary>
        /// 优惠券模板ID
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// 优惠券模板编号
        /// </summary>
        public string TemplateCode { get; set; }

        /// <summary>
        /// 优惠券模板名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 优惠券类型
        /// </summary>
        public int CouponType { get; set; }

        /// <summary>
        /// 优惠金额
        /// </summary>
        public long? DiscountAmount { get; set; }

        /// <summary>
        /// 优惠折扣
        /// </summary>
        public decimal? Discount { get; set; }

        /// <summary>
        /// 使用门槛金额
        /// </summary>
        public long? UseThresholdAmount { get; set; }

        /// <summary>
        /// 总数量
        /// </summary>
        public int Total { get; set; }

        /// <summary>
        /// 已使用数量
        /// </summary>
        public int UsedCount { get; set; }

        /// <summary>
        /// 模板启用状态：0=禁用,1=启用
        /// </summary>
        public int EnableStatus { get; set; }

        /// <summary>
        /// 海报地址
        /// </summary>
        public string? PosterUrl { get; set; }

        /// <summary>
        /// 领取开始时间
        /// </summary>
        public DateTime ReceiveStartTime { get; set; }

        /// <summary>
        /// 领取结束时间
        /// </summary>
        public DateTime ReceiveEndTime { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreationTime { get; set; }

        /// <summary>
        /// 扩展属性
        /// </summary>
        public string? ExtraProperties { get; set; }

        /// <summary>
        /// 是否参与推送
        /// </summary>
        public bool? IsPush { get; set; }


    }
}
